The present invention relates generally to output devices and more particularly to limiting decomposition time on a per page basis for output devices.
FIG. 1 depicts a typical data flow for a printing operation and a conventional computer system 10. In particular, the computer system 10 submits a page 12 to a printer 14. The page 12 is encoded in a page description language, such as Postscript or Printer Control Language (PCL). The printer 14 includes the intelligence for generating a printed page from the page 12 encoded in the page description language. Specifically, the printer 14 receives the page 12 and passes the page through an interpreter 16 (such as a Postscript interpreter or a PCL interpreter). The interpreter 16 interprets the encoded page 12 to produce a printed page on the printer 14. The processing of the page 12 to produce the printed output is known as xe2x80x9cdecomposition.xe2x80x9d
Printing tasks are typically organized into xe2x80x9cprint jobs.xe2x80x9d For example, a word processing document may include multiple pages. When the user wishes to print the word processing document, the user submits a print job to the printer 14, where the print job includes all of the pages of the document. As shown in FIG. 2, a print job 20 may contain encoded pages 24 that are sequentially printed. Each encoded page 26 passes separately through the interpreter 16 to produce a printed page 30. Unfortunately, for a number of different reasons, it may take an inordinate amount of time for certain pages to decompose. As a result, the printer is monopolized by a single print job. Given that printers are typically shared resources, the monopolization of the printer by a single print job is problematic, resulting in the starvation of all of the waiting print jobs.
The present invention addresses the above-described problems with conventional printers. The present invention allows a user of an output device, such as a printer, to specify a maximum permissible decomposition time for a page. If any page of a print job is not fully decomposed by the time the maximum decomposition time is reached, the job may be terminated. In addition, one or more notifications may be sent to the user of the output device. This approach is especially well adapted for use with printers.
In accordance with one aspect of the present invention, a printer is provided for printing a print job that has at least one page. The printer includes an interface for permitting an operator to specify a maximum decomposition time that is permitted per page for the print job. The printer also includes a timer for calculating decomposition times for each page of the print job. A comparator is included in the printer for comparing the calculated decomposition times for each of the pages of the print job with a maximum decomposition time to determine whether any of the calculated decomposition times exceed the maximum decomposition time. The printer may include termination logic for terminating the print job when the comparator determines that at least one of the calculated decomposition times exceeds the maximum decomposition time. The printer may also include a notification module for producing a notification when one of the calculated decomposition times exceeds the maximum decomposition time.
In accordance with another aspect of the present invention, a job is provided in an output device where the job has at least one page. Decomposition times for the pages of the job are monitored. The job is terminated when at least one of the pages in the job has a decomposition time that exceeds a user-established maximum decomposition time.
In accordance with a further aspect of the present invention, the first and second user-chosen maximum decomposition times are established. For a selected print job, a determination is made as to which of the user-chosen maximum decomposition times to apply. The determined user-chosen maximum decomposition time is used in monitoring the selected print job to determine whether any of the pages of the selected print job take longer than the determined maximum decomposition time to decompose.